Emacs should no longer hang during large yanks
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 17 Jul 2015 18:54:24 +0000 (11:54 -0700)
committerRob Browning <rlb@defaultvalue.org>
Sat, 19 Sep 2015 19:47:52 +0000 (14:47 -0500)
commit329df01a7150bec89e58cfa6ba9e26b31169a23d
treee98c4a7a517bcdcc7e542e0743871a4e0ea79b02
parent59467953c905b8d1c015dec9ba41df38af3df30e
Emacs should no longer hang during large yanks

This upstream patch has been added:

  Fix hang with large yanks

  Backport of master commit 0592cefd03f1de2f04b721d07a16e6e0a9e48f73.
  This should fix the bug fixed by Mike Crowe's patch in:
  https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
  A problem in this area has been reported by several users; see
  Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
  This fix differs from Mike Crowe's patch in that it should avoid a
  race condition that could lose SIGIO signals.  ignore_sigio dates
  back to the 1980s when some platforms couldn't block signals, and
  could only ignore them, which led to races when signals arrived
  while being ignored.  We shouldn't have to worry about those old
  platforms now.
  * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
  * src/emacs.c (shut_down_emacs):
  Don't call ignore_sigio; unrequest_sigio should suffice.
  * src/keyboard.c (kbd_buffer_store_buffered_event):
  Use unrequest_sigio, not ignore_sigio.
  (kbd_buffer_get_event):
  Call request_sigio when getting the ball rolling again.

Origin: upstream, commit: a27ae9d7650a1230d4359eaf0a949f827315a6d2
Bug: http://debbugs.gnu.org/16737
Bug-Debian: http://bugs.debian.org/795909
Added-by: Rob Browning <rlb@defaultvalue.org>
src/dispextern.h
src/emacs.c
src/keyboard.c
src/sysdep.c